package yana.tpe.onlineshop.services;

import java.util.List;
import javax.validation.constraints.NotNull;
import yana.tpe.onlineshop.domain.domains.Category;

/**
 *
 */
public interface CategoryService extends AbstractService<Integer, Category> {

    void move(Integer newParentId, @NotNull Integer categoryId);

    List<Category> getCategoryWithParents(Integer categoryId);

    List<Category> getChildCategoris(Category categoryId);

    List<Category> getCategoryForEdit();

    void addCategory(Integer parentId, Category category);

    void delete(Integer id);

    void updateCategoryName(Integer categoryId, String newName);

}
